﻿using Model;
using Model.DTO.Article;
using Model.DTO.Public.GetList;
using Model.DTO.Public.OperateId;

namespace BLL.Interface
{
    /// <summary>
    /// 文章业务逻辑层接口
    /// </summary>
    public interface IArticleBLL
    {
        /// <summary>
        /// 添加文章
        /// </summary>
        /// <param name="param"></param>
        /// <returns></returns>
        Task<ResponseMessage> AddArticle(AddArticleDTO param);
        /// <summary>
        /// 删除文章
        /// </summary>
        /// <param name="param"></param>
        /// <returns></returns>
        Task<ResponseMessage> DeleteArticle(OperateIdDTO_LONG param);
        /// <summary>
        /// 编辑文章
        /// </summary>
        /// <param name="param"></param>
        /// <returns></returns>
        Task<ResponseMessage> EditArticle(EditArticleDTO param);
        /// <summary>
        /// 获取文章列表
        /// </summary>
        /// <param name="param"></param>
        /// <returns></returns>
        Task<ResponseMessage> GetArticleList(GetListDTO param);
        /// <summary>
        /// 绑定文章类型
        /// </summary>
        /// <param name="param"></param>
        /// <returns></returns>
        Task<ResponseMessage> BindArticleTypes(OperateIdDTO_LONG_INT param);
        /// <summary>
        /// 获取文章绑定的文章类型
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        Task<ResponseMessage> GetArticleBindArticleType(long id);
    }
}
